package com.heu.blood.storge.vo;

import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 功能描述：血液信息和入库数据VO
 *
 * @Author: lvyj
 * @Date: 2024/6/25 14:52
 */
@Data
public class BloodInformationAndInStorageVo {
    private static final long serialVersionUID = 1L;

    /**
     * 编号
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    /**
     * 血液信息表中的id
     */
    private String bloodId;
    /**
     * 创建时间
     */
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
    private Date gmtCreate;
    /**
     * 修改时间
     */
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
    private Date gmtModified;
    /**
     * 献血时编号
     */
    private String bloodDonationCode;
    /**
     * 血液品名-字典
     */
    private String bloodType;
    /**
     * 扩展码-产品码
     */
    private String extendCode;
    /**
     * ABO血型
     */
    private String aboBloodType;
    /**
     * RH血型
     */
    private String rhBloodType;
    /**
     * 血装编码条码
     */
    private String barcode;
    /**
     * 规格/血量-数字
     */
    private BigDecimal bloodCount;
    /**
     * 血液金额
     */
    private BigDecimal bloodPrice;
    /**
     * 入库金额
     */
    private BigDecimal inboundPrice;
    /**
     * 计量单位-ml等
     */
    private String measurementUnit;
    /**
     * 血袋位置-库存位置描述
     */
    private String bloodLocation;
    /**
     * 入库单据号----对应查询中的唯一标识
     */
    private String number;
    /**
     * 入库批次号
     */
    private Long batchNumber;
    /**
     * 入库日期
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
    private Date inStorgeTime;
    /**
     * 院区
     */
    private String hospitalClassification;
    /**
     * 失效时间
     */
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
    private Date failureTime;
    /**
     * 采血时间
     */
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
    private Date collectTime;
    /**
     * 血液来源-字典-供血机构
     */
    private String bloodSource;
    /**
     * 血站出库编号
     */
    private String bloodBankDeliveryId;
    /**
     * 状态-字典
     */
    private String bloodState;
    /**
     * 操作者姓名
     */
    private String operatorName;
    /**
     * 操作人工号
     */
    private String operatorId;

    /**
     * 0代表未核验，1代表核验成功，2代表核验失败
     */
    private Integer testFlag;

    /**
     * 1代表展示，0代表不展示
     */
    private Integer ifShow;
    /**
     * 删除标记（0未删除，1删除）
     */
    private Integer isDeleted;
    /**
     * 血型抗筛
     */
    private String antibodyScreening;
}
